home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 9 / FM Towns Free Software Collection 9.iso / t_os / tool / surfedit / surfedit.doc < prev    next >
Encoding:
Text File  |  1994-11-16  |  25.1 KB  |  635 lines

  1. ☆☆☆          3次元サーフェスモデラー  SurfEdit          ☆☆☆
  2.                                             By YS11
  3.  
  4.  
  5.   タイトル  :SurfEdit
  6.   動作機種  :FM-TOWNS全機種
  7.   動作OS  :Towns-OS V2.1 L20 以上
  8.   必要メモリ:2M以上
  9.   動作確認  :FM-TOWNS 20F  拡張RAM8M  (合計10M)
  10.               FM-TOWNS 2 CX 拡張RAM10M (合計12M)
  11.               FM-TOWNS 2F   拡張RAM0M  (合計 2M)
  12.  
  13.  
  14.  
  15. <<アップデート>>
  16. 1993/07/13  プログラム開始
  17. 1993/08/02  シェーディングルーチン完了
  18. 1993/08/03  ショートカットキーに対応
  19. 1993/08/04  シェーディングを3種類に分ける
  20. 1993/08/06  シェーディング時の交点計算方式を変更
  21. 1993/08/25  ショートカットキー F,W,M を追加
  22. 1993/08/25  頂点削除時に一時稜線を消去するように修正
  23. 1993/09/30  VIEWメニューに正式にX/Y/Z-AXIS VIEWを追加
  24. 1994/01/09  注視点設定時,何もないところをクリックするとスクロールするよ
  25.             うに修正.
  26.  
  27.  
  28. ◇SurfEditについて
  29.   このプログラムは,3次元サーフィスモデルのモデラーです.平面ポリゴンが構成
  30. する3次元パターンをモデリングして,シェーディングしたり,また,作ったデータ
  31. を,付属ソフト HAKOFLY.EXP を利用して,箱庭エディタ(I/O 1993-7月号掲載)で作
  32. 成したマップデータの中で動かしてみたりすることができます.
  33.  
  34.   入力方式は,あらかじめ,3次元パターンの持つす頂点を入力しておいて,その頂点
  35. 間を結んでポリゴンを作る,という2段階方式にしています.
  36.  
  37.   また,もし,シェーディングが綺麗じゃないぞっ,という人は,データをテキスト形
  38. 式で出力できるので,コンバーターを作って何か別のシェーディング/レイトレーシ
  39. ングソフトにかけましょう.作れない人は……我慢しましょう.(^_^;)
  40.  
  41.  
  42.  
  43.  
  44. ◇起動方法
  45.   80387コプロセッサーの無い機種,または,ODPを未装備の486SX機(HR/ME/MA/UR等)
  46. では,SURFEDIT.EXPを,80387コプロセッサーのある機種または,ODPを装着した486SX
  47. 機または,486DX機(MX)では,SURFE387.EXPをアイテム登録して実行してください.
  48.  
  49.  
  50.  
  51.  
  52. ◇画面説明 (数字は,画面説明の図に対応)
  53.   画面は,ボタンなどがあるコントロールパネル部分と,座標軸と3次元図形を表
  54. 示している,編集ウィンドウに分かれます.このファイルの中で,編集ウィンドウ
  55. と言うと,座標軸と3次元図形を表示している部分だと思って読んでください.
  56.  
  57.  
  58.   1.プルダウンメニュー
  59.     SIDEWORK
  60.       プルダウンメニューにはなってませんが,押すと,サイドワークアプリケー
  61.       ションを利用することができます.(注:サイドワークアプリケーションの
  62.       中には,ごくまれに,このプログラムで利用している画面モード17番に対応
  63.       していないものがあって,画面を崩してしまうことがあります.そのときは,
  64.       一旦データをセーブして,TOWNS-MENUに戻ってから,プログラムを起動しな
  65.       おしてください.)
  66.  
  67.     FILE
  68.       LOAD(BIN)
  69.         バイナリ形式の3次元パターンファイル(.SLD形式)を読み込みます.
  70.  
  71.       SAVE(BIN)
  72.         編集したデータを,バイナリ形式の3次元パターンファイル(.SLD形式)に
  73.         書き出します.
  74.  
  75.       LOAD(TXT)
  76.         テキスト形式の3次元パターンファイル(.SRF形式)を読み込みます.
  77.  
  78.       SAVE(TXT)
  79.         編集したデータを,テキスト形式の3次元パターンファイル(.SRF形式)に
  80.         書き出します.
  81.  
  82.       CLEAR
  83.         編集中のデータをクリアします.誤ってクリアすることがないように,確
  84.         認してきますので,YESかNOかで答えてください.
  85.  
  86.       SAVE TIF
  87.         画面の任意の部分をTIF形式のファイルにセーブします.
  88.  
  89.  
  90.     EDIT
  91.       REVERSE-X
  92.       REVERSE-Y
  93.       REVERSE-Z
  94.         データを作り終わってみたら,「しまった!前後が逆だった!」とか,「しま
  95.         った!左右が逆だった」で,最初から作り直すのは,悲劇です(^_^;)別に,3次
  96.         元モデルは,どの方向からでも見れるんだから,気にしなければ気にならな
  97.         いかもしれませんが,なんとなくすっきりしません.と,いうわけで,プルダ
  98.         ウンメニューから, REVERSE-X REVERSE-Y REVERSE-Z というのを選ぶと,
  99.         それぞれ,Xの値,Yの値,Zの値を反転します(-1をかける).
  100.  
  101.       VERTEX POSITION
  102.         データを入力していて,しばしば,前に入力した頂点の座標値が知りたくな
  103.         ることがあります.その時は,この VERTEX POSITION をメニューから選び
  104.         ます.そして,座標値を知りたい頂点の上にマウスカーソルを移動すると,
  105.         画面上に座標値を表示します.ボタンをクリックすると,表示を終了して,
  106.         編集作業に戻ります.
  107.  
  108.  
  109.     VIEW
  110.       EDIT-VIEW
  111.         編集時のモードです.ワイヤーフレームで3次元図形を表示して,頂点には
  112.         マーカーを表示します.
  113.  
  114.       QUICK-PREVIRW
  115.         シェーディングには,非常に長い時間がかかりますが,このQUICK-PREVIEW
  116.         を使うと,光の反射などの計算をはぶいて図形に色をつけて,おおまかなで
  117.         きあがりのイメージを見ることができます.ただし,描画優先順位の計算は,
  118.         ポリゴン単位のZ-SORT法なので,くぼみの多い図形では,うまく表示されな
  119.         いことがあります.なお,QUICK-PREVIEWにしたままで,ローテーションウィ
  120.         ンドウを使って図形を回転することもできます.(ローテーションウィンド
  121.         ウについては,後述)
  122.  
  123.       NORMAL-VECTOR
  124.         これは,ほとんどプログラムのデバッグのために付けたような機能なので
  125.         すが,しばしばありがたいし,図形から法線ベクトルが延びている恰好が,
  126.         ウニみたいでおもしろかったので,あえて削除する必要もあるまい,と思い
  127.         残しました.図形の面の法線ベクトルを表示する機能です.
  128.  
  129.       X-AXIS VIEW
  130.       Y-AXIS VIEW
  131.       Z-AXIS VIEW
  132.         それぞれ,X軸,Y軸,Z軸の延長線上に視点を移します.正面図,側面図,底面
  133.         図が見たいときに使います.
  134.  
  135.  
  136.     SHAD
  137.       SHADは,シェーディング関係のメニューで,以下の機能があります.
  138.  
  139.       LIGHT POSITION
  140.         光源の位置を決めるときに使います.入力方法は,頂点の入力と同じなの
  141.         で, ◇頂点の入力 を参照してください.
  142.  
  143.       REFLECTION
  144.         SPECULAR REFLECTION LIGHT(鏡面反射光) , DIFFUSE REFLECTION LIGHT
  145.         (拡散反射光) , AMBIENT LIGHT(環境光) , METALIC LEVEL(金属感) の
  146.         レベルを設定する機能です.それぞれの意味を説明するのは大変なので,
  147.         感覚的に説明しますと,鏡面反射光を強くすると,それぞれの面が,鏡のよ
  148.         うに光を反射するようになり,拡散反射光を強くすると,光があたってい
  149.         る部分がより明るくなり,環境光を強くすると,全体的に明るくなる代わ
  150.         りに白っぽくなってくる,といったところです.金属感を強くした場合は,
  151.         当然,金属のようなつやが出てきます.
  152.  
  153.       Z-BUFFER DRAW
  154.         光の反射を一切考慮しないで,Z-BUFFER法によって図形を描画します.
  155.  
  156.       SHADING(without Shadow)
  157.         光の反射を考慮して,図形を描画します.ただし,それぞれの面が,光源か
  158.         らの光を遮る位置にある場合でも,影は発生しません.
  159.  
  160.       SHADING(with Shadow)
  161.         光の反射を考慮して,図形を描画します.ただし,それぞれの面が,光源か
  162.         らの光を遮る位置にある場合は,影が出ます.
  163.  
  164.  
  165.   2.終了ボタン
  166.     押すと,プログラムを終了するか確認してきますので,TOWNS-MENUに戻るとき
  167.     は,YESを押してください.
  168.  
  169.  
  170.   3.操作セレクタ
  171.     編集ウィンドウに対して行う操作を選択する部分です.どのアイコンが何に
  172.     対応しているかは,図を参照してください.また,それぞれの機能については,
  173.     以降の章で詳しく説明します.
  174.  
  175.  
  176.   4.座標表示ウィンドウ
  177.     頂点座標入力などのために,マウスカーソル位置の座標値を表示しています.
  178.   
  179.  
  180.   5.座標軸
  181.     図形の座標軸です.これを見ることで,図形がどう見えているかを把握します.
  182.  
  183.  
  184.   6.アンドゥボタン
  185.     ひとつ前に行った操作を取り消します.が,ふたつ前の操作は取り消すことが
  186.     できません.アンドゥボタンを2回押しても,それは,1回目のアンドゥボタン
  187.     を取り消す(つまり何も無かったことになります).だから,考えようによって
  188.     は,何回でも前の操作を取り消していることにはなるかもしれません(^_^;)
  189.  
  190.  
  191.   7.カラーセレクトボタン
  192.     COLORボタンは入力するポリゴンの色,BACKGは編集ウィンドウの背景色をそ
  193.     れぞれ,決めるときに使います.押すと,カラーウィンドウが開きますので,中
  194.     から希望の色を選んでください.なお,カラーウィンドウ以外でも,画面内の
  195.     好きなところをクリックすれば,その点の色を選ぶこともできます.
  196.  
  197.  
  198.   8.視点設定ボタン
  199.     FOCUSボタン
  200.       注視点を決めるときに使います.画面上の点をクリックすると,その点を常
  201.       に編集ウィンドウの中心に表示するようになります.
  202.  
  203.       頂点,または,座標軸の中心点をクリックしたときは,その点を編集ウィン
  204.       ドウの中心に表示する,注視点として設定しますが,何もないところクリッ
  205.       クすると,視点から注視点までの距離が変化せずに,クリックしたところが
  206.       編集ウィンドウの中心になるように,注視点を移動します.簡単にいうと,
  207.       何も点がないところクリックすると,クリックした点が中心になるように
  208.       編集ウィンドウがスクロールするということです.
  209.  
  210.  
  211.     MAGNIFYボタン
  212.       押すと,編集ウィンドウ内の3次元図形の表示拡大率を一段アップします.
  213.  
  214.     WIDEボタン
  215.       押すと,編集ウィンドウ内の3次元図形の表示拡大率を一段ダウンします.
  216.  
  217.     REPAINTボタン
  218.       編集作業をしていて,画面がくずれてしまった時に押すと,画面をクリアして
  219.       書き直します.
  220.  
  221.  
  222.   9.ローテーションウィンドウ
  223.     編集ウィンドウ上の3次元図形を回転して見るときに使います.横軸は,水平方
  224.     向の回転角,縦軸は,垂直方向の回転角をそれぞれ意味します.
  225.  
  226.  
  227.  10.YS11マーク
  228.     お馴染み(?)作者マークです.
  229.  
  230.  
  231.  
  232.  
  233.  
  234.  
  235. ◇座標系について
  236.   このソフトで使う座標系は,Zのプラス方向を前として,Xのプラス方向を右向き,
  237. Yを上向きとする座標系です.別の言い方をすると,普通に使っているX,Yの座標系
  238. に,奥行き方向のZがついたと考えてください.
  239.  
  240.  
  241.  
  242.  
  243.  
  244. ◇図形の入力について
  245.   図形の入力の説明に入る前に,データ構造の図を見てください.このソフトでは,
  246. 3次元図形を,頂点の位置 Vertex List と,そのつながり具合を表す Polygon List
  247. で表現しています.(前者とジオメトリー,後者をトポロジーと言うらしい.)
  248.   図形入力は2段階の入力になります.頂点を入力して,次に,頂点間の接続状態を
  249. 入力して,面を張るわけです.この2段階の操作を繰り返して,大きな図形を作るこ
  250. ともできます.(サンプルのF-15等を見てください(^_^;)気合入ってるでしょ(^_^;))
  251.  
  252.  
  253.  
  254.  
  255.  
  256. ◇頂点入力
  257.   では,頂点の入力方法です.2次元では,頂点を入力するには,マウスによって,画
  258. 面上の1点をクリックすれば済みましたが,3次元になると,2次元のディスプレイ
  259. 上の点のクリックでは,奥行きを決定することができません.他のモデラーでは,
  260. この問題を解決するために,頂点は,既に存在する基本図形の辺上の点を指定する
  261. 方式や,座標を直接キーボードから入力する方式を取っていました.
  262.   2次元のディスプレイ上のマウスカーソルで,1点をクリックすると,3次元座標
  263. 空間では,1本の直線が決まります.1本の直線が決まれば,あとは奥行きを決めれ
  264. ば,ひとつの点の座標を決定できます.
  265.   だったら,そのように頂点を入力すればいいじゃないか,と思って,このソフト
  266. で採用したのは,ディスプレイ上の点をクリックしてから,マウスで露骨に奥行き
  267. を入力する方式です(^_^;)
  268.   頂点を入力するときは,最初に,画面説明3番,操作セレクタで,頂点入力モード
  269. を選びます.そして,その頂点が存在すれば見える位置にマウスカーソルを移動し
  270. て,クリックします.すると,3次元図形と座標軸がずるずると横に90度回転します.
  271. そのとき,クリックで決定した直線も表示します.横に90度回転すると,今度は,一
  272. 度目のクリックで決定した直線と直行する縦の直線が現れます.マウスを左右に
  273. 動かすと,縦の直線が連動して動くので,希望の奥行きの位置に直線を移動して,
  274. もう一度クリックしてください.これで,2直線の交点上に頂点ができます.
  275.   正面図と側面図から図形を作ろうとするときなどは,VIEWメニューのZ-AXIS VIEW
  276. を使って,正面図を出して入力すると,1度目のクリックで正面図上の点を決めて,
  277. 2度目の点で,側面図上の奥行きを決められるので,入力しやすくて,便利です.
  278.  
  279.  
  280.  
  281.  
  282.  
  283.  
  284. ◇ポリゴン入力
  285.   頂点を入力したら,その頂点をつないで面を張ります.面を張るときに必要な要素
  286. は,頂点のつながり,面の色,面の向きの3属性です.面の色は,画面説明7番カラーセ
  287. レクトボタンで決めることができます.
  288.   頂点のつながりは,編集ウィンドウに表示している頂点のマーカーを順にクリッ
  289. クして入力します.順に頂点をクリックして,最後のマーカーは,2回クリックしてく
  290. ださい.同じ頂点を2回連続クリックした段階で,つながり具合の入力を確定とみな
  291. します.
  292.   次に,面の向きの入力です.その前に,面の向きとは何かがわかりにくいと思いま
  293. すので,説明します.面に向きなんかあるの?と思ったかもしれませんが,例えば,豆
  294. 腐を思い浮かべてください.豆腐のそれぞれの表面は,外側を向いていますが,内側
  295. を向いてはいません.内側を向いた面があるためには,豆腐は空洞でなくてはなりま
  296. せん.買ってきた豆腐が空洞だったら,金を返してもらいに行かなくてはならなくな
  297. ります(^_^;)その他では,野球のボールを思い浮かべてもいいです.野球のボールは
  298. 中が空洞ではないので,やはり,外側を向いた面があっても,内側を向いた面はあり
  299. ませんね.これが,バスケットボールだと,内側を向いた面もあります.このことから,
  300. 豆腐や野球のボールの面には,"外向き"という向きがあるのです.
  301.   このエディタで扱う面にも向きがあります.頂点のつながり具合を決めたら,エデ
  302. ィタは,ポリゴンの向きを決めるよう要求してきます.最初は,ベクトル無しの状態
  303. で,この状態では,どちらから見ても面が見える状態にあります.画面には,"Toggle"
  304. と"Set"のボタンがあり,"Toggle"を押すたびに,向きが切り替わります.面の向きは
  305. 青の直線で表示します.希望の向きになるように"Toggle"ボタンを使って向きを切
  306. り換えて,"Set"を押してください.これで,面が張れます.
  307.  
  308.   頂点のつながりを決めるときに,若干注意があります.それは,このエディタは,平
  309. 面データしか扱えないのですが,1枚の平面上にない頂点同志をつなぐ操作をしても
  310. エディタは線をつないでしまうということです.このような平面は,シェーディング
  311. 時に矛盾が発生しますので,目で見て,一枚の平面で表せないようなポリゴンは,2枚
  312. に分けて入力してください.
  313.  
  314.   面を張ったら,ためしに,"Q"キー(Quick Preview)で見てみましょう.
  315.  
  316.  
  317.  
  318.  
  319.  
  320.  
  321. ◇ポリゴン入力キャンセル
  322.   ポリゴンの頂点のつながりを入力していて,誤って別の頂点をクリックしてしま
  323. った時に,この機能を使います.
  324.   操作セレクタで,ポリゴン入力キャンセルを選んで,誤ってクリックした頂点(マ
  325. ーカーが白くなっている)をクリックすると,その頂点がつながりからはずれます.
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  
  332. ◇頂点削除
  333.   不要になった頂点があると混乱の元です.そこで,頂点を削除するのが,この機能
  334. です.
  335.   操作セレクタで,頂点削除を選んで,いらなくなった頂点をクリックすると,頂点
  336. が消えます.ただし,もしも,ポリゴンで使われている頂点をクリックした場合は,
  337. 警告メッセージが出て,頂点は削除できません.
  338.  
  339.  
  340.  
  341.  
  342.  
  343. ◇ポリゴン削除
  344.   不要になったポリゴンや,入力ミスをしたポリゴンを削除するのがこの機能です.
  345.   操作セレクタで,ポリゴン削除を選んで,ポリゴン入力の時の要領で,削除したい
  346. ポリゴンの輪郭線の頂点をくりっくしてゆきます.ポリゴンのすべての頂点をクリ
  347. ックする必要はありませんが,ひとつのポリゴンを特定できるまでクリックする必
  348. 要があります.ポリゴンの入力と同様に,同じ頂点を2度連続でクリックすると,入力
  349. 確定とみなして,そのポリゴンを削除します.ただし,対応するポリゴンがないとき
  350. や,削除するポリゴンをひとつに特定できないときは,警告メッセージが出て,ポリ
  351. ゴンは削除できません.
  352.  
  353.  
  354.  
  355.  
  356.  
  357.  
  358. ◇ポリゴン属性変更
  359.   ポリゴン入力のときに決めた色や面の向きを変更したい場合があります.その場
  360. 合は,この機能を使います.
  361.   操作セレクタから,ポリゴン属性変更を選んで,変更したいポリゴンの頂点を順
  362. にクリックしてゆきます.ポリゴンのすべての頂点をクリックする必要はありませ
  363. んが,ひとつのポリゴンを特定できるまでクリックする必要があります.ポリゴン
  364. の入力と同様に,同じ頂点を2度連続でクリックすると,入力確定とみなして,どの
  365. 属性を変更するかを聞いてきます.ここで,"Normal Vector"(面の向き),"Color"
  366. (面の色)を選ぶと,変更できますので,あとは画面の指示に従ってください.
  367.  
  368.  
  369.  
  370.  
  371.  
  372.  
  373. ◇ショートカットキーについて
  374.   このプログラムでは、以下のショートカットに対応しています。
  375.   123456  各機能選択
  376.   U       UNDO
  377.   E       VIEWメニューのEdit View
  378.   Q       VIEWメニューのQuick Preview
  379.   V       EDITメニューのVertex Point
  380.   F       FOCUS
  381.   M       MAGNIFY
  382.   W       WIDE
  383.   X       VIEWメニューのX-AXIS VIEW(側面図表示)
  384.   Y       VIEWメニューのY-AXIS VIEW(底面図表示)
  385.   Z       VIEWメニューのZ-AXIS VIEW(正面図表示)
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392. ◇サンプルファイルについて
  393.   ディレクトリ SLDSAMP , SRFSAMPの中に,いくつかのモデルのサンプルファイル
  394. を入れておきます.これらのデータのうち一部は,I/O投稿ゲームNo.1に収録してい
  395. ただいた,Formation Flightでも使用したものです.戦闘機が多いのは,作者の趣味
  396. で,戦闘機をモデリングする,というのが,このSurfEdit開発の目的でもありました.
  397. (^_^;)
  398.  
  399.   SLDSAMPの下には,バイナリ形式のモデルデータ,SRFSAMPの下には,テキスト形式
  400. のモデルデータが入っています.(別に,何か目的があってふたつに分けたわけでは
  401. なく,両方のサンプルを入れた方が良いかと思ったので,ふたつに分けただけのこ
  402. とです).
  403.  
  404.  
  405.  
  406.  
  407.  
  408.  
  409. ◇.SRFファイルフォーマット
  410.     ここでは、.SRFファイル (FILEメニューのSAVE(TXT) でできるファイル) を
  411.   説明します。
  412.  
  413.   1行目
  414.     1行目には、必ず、下の文字列が入ります。
  415.  
  416.         SurfCraftFormatByYS11
  417.  
  418.     (名前の変更があったことを物語る文字列.... ^_^;  )
  419.  
  420.  
  421.   2行目以降~最終行の手前
  422.   2行目以降は、次の2種類に分かれます。
  423.  
  424.       VERTEX
  425.         頂点を定義します。VERTEXに続く3つの数字がそれぞれ、(X,Y,Z)です。
  426.         なお、それぞれの頂点は、現れた順に、頂点番号0番,1番,2番とな
  427.         ります。
  428.  
  429.  
  430.       FACE ~ ENDFACE
  431.     面を定義します。FACEとENDFACE の間は、次の書式になります。
  432.           COLOR     次に続く数字が3万色モードでの色識別番号になります。
  433.           NORMVECT  法線ベクトルです。次に続く3つの数字が、面の中心点で、
  434.                    (早い話が面のベクトルが生えている点と思ってください)
  435.                     その次の3つの数字はベクトル値です。
  436.           VERTEX    このVERTEXは、座標の定義ではなく、頂点のつながりの定
  437.                     義です。VERTEXに続く数字が、頂点番号です。なお、ひと
  438.                     つのVERTEXは、ひとつの頂点を指定するだけで、 n角形の
  439.                     ときは、 n個VERTEXの行を書かなくてはなりません。
  440.  
  441.   最終行
  442.     最終行には、必ず、下の文字列が来ます。
  443.  
  444.       END
  445.  
  446.   なお、参考に、三角錐のデータを出しておきます。
  447.  
  448.     SurfCraftFormatByYS11         ←.SRFファイルであることの識別用
  449.     VERTEX -7 1023 0              ←頂点0の座標
  450.     VERTEX 367 0 335              ←頂点1の座標
  451.     VERTEX -375 0 320             ←頂点2の座標
  452.     VERTEX -7 0 -460              ←頂点3の座標
  453.     FACE                          ←平面1の開始(側面その1)
  454.     COLOR 1052                          ←平面1の色
  455.     NORMVECT -129 342 -46 -225 48 -107  ←平面1の中心,法線ベクトル
  456.     VERTEX 3                            ←平面1の頂点番号
  457.     VERTEX 0                            ←平面1の頂点番号
  458.     VERTEX 2                            ←平面1の頂点番号
  459.     ENDFACE                       ←平面1の終わり
  460.     FACE                          ←平面2の開始(側面その2)
  461.     COLOR 28832                         ←平面2の色               
  462.     NORMVECT 117 341 -41 226 47 -106    ←平面2の中心,法線ベクトル
  463.     VERTEX 3                            ←平面2の頂点番号         
  464.     VERTEX 0                            ←平面2の頂点番号         
  465.     VERTEX 1                            ←平面2の頂点番号         
  466.     ENDFACE                       ←平面2の終了
  467.     FACE                          ←平面3の開始(側面その3)
  468.     COLOR 29568                         ←平面3の色               
  469.     NORMVECT -5 341 218 -3 77 243       ←平面3の中心,法線ベクトル
  470.     VERTEX 1                            ←平面3の頂点番号         
  471.     VERTEX 0                            ←平面3の頂点番号         
  472.     VERTEX 2                            ←平面3の頂点番号         
  473.     ENDFACE                       ←平面3の終わり
  474.     FACE                          ←平面4の開始(底面)
  475.     COLOR 6341                          ←平面4の色               
  476.     NORMVECT -5 1 65 0 -256 0           ←平面4の中心,法線ベクトル
  477.     VERTEX 2                            ←平面4の頂点番号         
  478.     VERTEX 1                            ←平面4の頂点番号         
  479.     VERTEX 3                            ←平面4の頂点番号         
  480.     ENDFACE                       ←平面4の終わり
  481.     END                           ←データの終わり
  482.  
  483.  
  484.  
  485.  
  486. ◇箱庭フライヤーについて
  487.   せっかくSurfEditを使って3次元モデルを作ったんだから,動かしてみたい,と
  488. 思われるかもしれません.そこで,箱庭エディタ(I/O 1993-7月号掲載)で作った
  489. マップの中を,SurfEditで作った3次元モデルで飛行,あるいは,走行するプログ
  490. ラム,HAKOFLY.EXPを開発しました.このプログラムを使うには,箱庭エディタで
  491. 作ったデータが必要です,が,万一箱庭エディタを入手できない場合のために,マ
  492. ップデータ SFC.LAX (作者の通っている大学のキャンパスをモデリングしたマ
  493. ップです)を入れておきます.デフォルトではこのマップデータを読み込みます.
  494.  
  495.   HAKOFLY.EXPを使うと,SurfEditで作った3次元モデルを箱庭エディタで作った
  496. 空間の中を飛ばしてみる,あるいは,走らせてみることができます.3次元モデル
  497. は,バイナリ形式(.SLD)でセーブしておく必要があります.また,視点を変えて見
  498. ることが可能で,ラジコンのような視点で見ながら動かすこともできます.
  499.  
  500.   HAKOFLY.EXPを最も簡単に起動するには,HAKOFLY.EXPを,アイテム登録します.
  501. アイテム登録のとき,コマンドラインパラメータを次のように書きます.(飛ばす
  502. 3次元モデルが,  D:\SURFEDIT\SLDSAMP\F14A.SLD  のとき.)
  503.  
  504.   -SLD D:\SURFEDIT\SLDSAMP\F14A.SLD
  505.  
  506. その他のアイテム登録時の設定項目は変更の必要はありません.こうすると,マ
  507. ップ,SFC.LAXの中でF14A.SLDを飛ばしてみることができます.
  508.  
  509.   その他にもコマンドラインパラメーターがあって,次の機能を使うことができ
  510. ます.
  511.  
  512.   -SLD <ファイル名>
  513.     3次元モデルのファイル名を指定します.3次元モデルは,バイナリ形式(.SLD)
  514.     でセーブしたもの以外は指定できません.ファイル名は,ドライブ名,ディレ
  515.     クトリ名,拡張子.SLDを省略せずに入力してください.
  516.   -LAX <ファイル名>
  517.     箱庭エディタで作成したマップ(.LAXファイル)のファイル名を指定します.
  518.     ファイル名は,ドライブ名,ディレクトリ名,拡張子.SLDを省略せずに入力し
  519.     てください.省略すると,プログラムのあるディレクトリのSFC.LAXを読み込
  520.     みます.
  521.   -GRD <数値>
  522.     背景のマップの地上色を<数値>の色にします.<数値>は,32K色カラーコード
  523.     です.箱庭エディタや,SurfEditの色選択時に表示する数値を参照するか,
  524.     F-BASIC386やHigh-Cのマニュアル等を読んで数値を決定してください.省略
  525.     すると,グリーンになります.
  526.   -SKY <数値>
  527.     背景のマップの空の色を<数値>の色にします.数値の意味は-grdと同じです.
  528.     省略すると,スカイブルーになります.
  529.   -CYB
  530.     アナログスティックを使用するときにこのオプションをつけます.
  531.   -WALK
  532.     空を飛ばずに,地上を走行したいときに,このオプションをつけます.このオプ
  533.     ションをつけると,マップ内の移動方法は,左右に体を傾けて旋回するのではな
  534.     く,左右にハンドルを切るような動きに変わります.
  535.  
  536.   また,データ起動の設定を使って,拡張子SLDに対して,HAKOFLY.EXPを,パラメータ
  537. -SLD として登録しておくと,.SLDファイルをTOWNS-MENUからダブルクリックするだ
  538. けで,箱庭フライヤーを起動することができるようになります.
  539.  
  540.   箱庭フライヤー起動後,マップ内の移動は,次のようにして行います.
  541.  
  542.     姿勢変化  (マウスまたはアナログスティックの操縦桿)
  543.       -WALKオプションが無い状態では,飛行機のように,操縦桿を右に倒すと(マウ
  544.       スカーソルを右に動かすと),自分の姿勢が右に傾き,左に倒すと自分の姿勢が
  545.       左に傾くような動きをします.操縦桿を手前にひく(マウスを手前にひく)と,
  546.       徐々に上をむき,操縦桿を押すと,徐々に下を向きます.
  547.  
  548.       また,この他に,Z/X/Cキーで姿勢を傾けずに,左右の方向を変えることができ
  549.       ます.Zキーを押すと,徐々に左を向き,Cキーを押すと,徐々に右を向きます.何
  550.       度もZ/Cキーを押すと,より速く横を向くことができます.向きを変える動きを
  551.       停止するには,Xキーを押します.
  552.  
  553.       -WALKオプションで起動したときは,操縦桿の左右の動きに対応して,左右に方
  554.       向を変えます.この状態では,Z/X/Cキーは無効です.
  555.  
  556.       なお,マウスを操縦桿にしているとき,左ボタンを押すと,操縦桿を真ん中の位
  557.       置に移動して,姿勢変化を停止することができます.
  558.  
  559.  
  560.     速度調節  (キーボードのQ/A または アナログスティックのスロットルレバー)
  561.       キーボードのQを押す,または,アナログスティックのスロットルレバーを前に
  562.       押してやると,速度が上がります.キーボードのAを押すか,アナログスティッ
  563.       クのスロットルレバーを手前にひくと,速度が下がります.
  564.  
  565.       なお,移動中に,地面に激突したり,建物に衝突したときは,速度が0になります.
  566.       ぶつからない方に向きを変えてから,また速度をあげて移動できます.
  567.  
  568.  
  569.     箱庭フライヤーの終了
  570.       箱庭フライヤーを終了するには,BREAKキーを押します.
  571.  
  572.  
  573.   箱庭フライヤーでは,この他に,視点の変更機能があります.視点を変更すると,動か
  574. しているモデルを後ろからだけではなく,横や斜め前から見たり,視点をモデルの中に
  575. 移動したりすることができます.
  576.  
  577.     視線方向
  578.       キーボードの以下のキー  (IJKLM)を使うと,視点を変更することができます.
  579.      ___________________________________
  580.     | | | | | | | | | | | | | | | | | | |
  581.      | | | | | | | | | | | |I| | | |~~~|
  582.       | | | | | | | | | |J|K|L| | | |__|
  583.        | | | | | | | | | |M| | | | |   |
  584.         |~~|~~~|~~~~~~~~~|~~~|~~~~|~~~|~
  585.          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  586.       J  左を見ます       I+J  右斜め前を見ます
  587.       K  上を見ます       I+K  斜め上前方を見ます
  588.       L  右を見ます       I+L  左斜め前を見ます
  589.       M  後ろを見ます
  590.   
  591.       これらのキーは,キーボードを押している間だけ,視線が変わり,キーを放すと,
  592.       また正面を見るようになります.
  593.   
  594.       この他にも,キーを複数同時に押すことによって,斜め方向を見ることができ
  595.       ます.
  596.   
  597.   
  598.   
  599.     PF11キー
  600.       視点は,最初はモデルに対して一定の位置関係を保つように,モデルについて
  601.       移動しますが,PF11キーを一度押すと,モデルの外に固定した視点になり,もう
  602.       一度押すと,モデルの中から見る視点(コックピット視点)になります.もう一
  603.       度押すと元に戻ります.
  604.   
  605.  
  606.  
  607.  
  608. ◇あとがき
  609.   このソフトで作成したモデルデータ(バイナリ形式でもテキスト形式でも)の使用
  610. は,私用/商用にかかわらず,制限しません.また,収録したサンプルデータも同様に
  611. 使用可です.ただし,使用するときは,さらにまた第三者がそのデータを再利用する
  612. 権利を制限しないでください(都合があって,利用できない形式に変換してしまった
  613. 場合などは除きます).
  614.  
  615.   それから,本ソフトウェアの草の根ネットなどへの転載は,I/O誌掲載ソフトであ
  616. るということを明記するという条件で,可です.
  617.  
  618.   このSurfEdit,いかがだったでしょうか?実を言うと,このSurfEditに至るまでに,
  619. 自分は,何度となく3次元モデリングツールを書いては消していたという過去があり
  620. ます.最初に3次元モデリングツールを書いてみよう,と思ったのは,忘れもしない...
  621. と思ったら,いつだか忘れてしまっていましたが,FM-7を使っていた頃にI/O誌上で
  622. FM-7用の3次元モデリングツールを見たときでした.それから,何度か3次元ワイヤー
  623. フレイムエディタを作ってはみたものの,やっぱりだめで,FM-TOWNSに移ってからも,
  624. 自分で使う分にはまぁ,いい,という程度のサーフィスエディタがあるにはあったの
  625. ですが,結局発表はしませんでした.やっと,この,SurfEditで,公表できるレベルの
  626. ものになったかな?と自分で思っております.(没が怖い...)
  627.  
  628.   このSurfEditを楽しんでいただけることを願っております.ここまでお付き合い
  629. いただきまして,ありがとうございました.ではでは.
  630.  
  631.                                 =☆=
  632.     \\▼\\ PEB01130/YS-11/山川総司 //▼// 
  633.        //▲/ t91472sy@sfc.keio.ac.jp  \▲\\
  634.  
  635.